又来?又一个仪表,LVGL『Line meter仪表控件』介绍 |
您所在的位置:网站首页 › scale range scope rank区别 › 又来?又一个仪表,LVGL『Line meter仪表控件』介绍 |
一. LVGL GUI仪表控件的概念
线表对象由一些绘制比例的径向线组成。设置线表的值将按比例更改比例线的颜色。 二. LVGL GUI仪表小部件和样式线表只有一个主要部分,称为 LV_LINEMETER_PART_MAIN 。它使用所有典型的背景属性绘制矩形或圆形背景,并使用 line 和 scale 属性绘制比例线。活动行(与当前值的较小值相关)从 line_color 变为 scale_grad_color。最后一行(当前值之后)设置为 scale_end_color 颜色。 三. LVGL GUI仪表控件的使用 1. 设置值(Set value)用这个函数来设置仪表的新值lv_linemeter_set_value(linemeter, new_value),我们来写个程序验证下,创建两个仪表控件,一个是默认不设置值,一个设置为80 代码如下: void lvgl_line_meter_set_value_test(void) { /*Create a line meter */ lv_obj_t* lmeter1 = lv_linemeter_create(lv_scr_act(), NULL); lv_obj_set_pos(lmeter1, 150, 150); lv_obj_t* lmeter2 = lv_linemeter_create(lv_scr_act(), NULL); lv_obj_set_pos(lmeter2, 400, 150); lv_linemeter_set_value(lmeter2, 80); }用这个函数来设置值得范围lv_linemeter_set_range(linemeter, min, max),默认是[0:100] 用这个函数来设置角度跟线的数量lv_linemeter_set_scale(linemeter, angle, line_num),默认220度跟18跟线,官网说31是有问题的 下面我们来写一个程序验证下,一共创建3个,最左边的是默认的,中间的范围设置为[0:200],设置值为80,最右边的设置角度是360,36跟线,设置值为80,代码如下: void lvgl_line_meter_range_angle_test(void) { /*Create a line meter */ lv_obj_t* lmeter1 = lv_linemeter_create(lv_scr_act(), NULL); lv_obj_set_pos(lmeter1, 150, 150); lv_obj_t* lmeter2 = lv_linemeter_create(lv_scr_act(), NULL); lv_obj_set_pos(lmeter2, 400, 150); lv_linemeter_set_range(lmeter2, 0, 200); lv_linemeter_set_value(lmeter2, 80); lv_obj_t* lmeter3 = lv_linemeter_create(lv_scr_act(), NULL); lv_linemeter_set_scale(lmeter3, 360, 36); lv_obj_set_pos(lmeter3, 650, 150); lv_linemeter_set_value(lmeter3, 80); }用这个lv_linemeter_set_angle_offset角度偏移,我们写个程序验证下 void lvgl_line_meter_angle_offset_test(void) { /*Create a line meter */ lv_obj_t* lmeter1 = lv_linemeter_create(lv_scr_act(), NULL); lv_obj_set_pos(lmeter1, 150, 150); lv_linemeter_set_value(lmeter1, 80); lv_obj_t* lmeter2 = lv_linemeter_create(lv_scr_act(), NULL); lv_obj_set_pos(lmeter2, 400, 150); lv_linemeter_set_value(lmeter2, 80); lv_linemeter_set_angle_offset(lmeter2,90); }![]() 用这个来设置镜面lv_linemeter_set_mirror(linemeter, true/false) void lvgl_line_meter_mirror_test(void) { /*Create a line meter */ lv_obj_t* lmeter1 = lv_linemeter_create(lv_scr_act(), NULL); lv_obj_set_pos(lmeter1, 150, 150); lv_linemeter_set_value(lmeter1, 80); lv_obj_t* lmeter2 = lv_linemeter_create(lv_scr_act(), NULL); lv_obj_set_pos(lmeter2, 400, 150); lv_linemeter_set_value(lmeter2, 80); lv_linemeter_set_mirror(lmeter2, true); }好了,完结了,更多精彩继续戳↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |